Eucalyptus環境を使ってみる(その6) ~ euca2ools ~
今回はEucalyptusを利用するためのクライアントツール「euca2ools」をインストールしてみます。
お決まりですが、ツールインストール前にeuca2oolsで必要となるパッケージをインストールしておきます。
yum -y install swig rsync
Eucalyptusのサイトhttp://open.eucalyptus.com/downloads にアクセスし、Euca2ools via packagesセクションにあるRHEL-5/CentOS-5 RPMs:の64-bit版をダウンロードします。(ファイル名はeuca2ools-1.3.1-centos-x86_64.tar.gz)
ダウンロードしたファイルを/tmpへ移動させ展開します。
mv euca2ools-1.3.1-centos-x86_64.tar.gz /tmp/. cd /tmp tar xvfz euca2ools-1.3.1-centos-x86_64.tar.gz cd euca2ools-1.3.1-centos-x86_64 ls *.rpm > euca2ools_inst.sh chmod +x euca2ools_inst.sh vi euca2ools_inst.sh
viでeuca2ools_inst.shを開いたあと、先頭のrpm -Uvh と行末の\の部分を追加します。
rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm \ python25-libs-2.5.1-bashton1.x86_64.rpm \ euca2ools-1.3.1-1.x86_64.rpm
./euca2ools_inst.sh
これでeuca2oolsのインストールは完了です。
あとEucalyptusを利用するにはEucalyptusのCloud Controllerから取得できる認証情報なども必要となるので、CLC/CCで以下のように認証情報を取得し、展開します。
cd ~ euca_conf --get-credentials euca2-admin-x509.zip mkdir -p .euca/admin/keypairs cd .euca/admin/ unzip ../../euca2-admin-x509.zip source eucarc
以下のコマンドを実行して、Eucalyptusから応答が返ってくることを確認します。
euca-describe-availability-zones verbose AVAILABILITYZONE cluster1 10.100.0.1 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0002 / 0002 1 128 2 AVAILABILITYZONE |- c1.medium 0002 / 0002 1 256 5 AVAILABILITYZONE |- m1.large 0001 / 0001 2 512 10 AVAILABILITYZONE |- m1.xlarge 0001 / 0001 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20
それでは実際に仮想マシンのイメージファイルをEucalyptusに登録してみます。
てっとり早いのでEucalyptus社のサイトにあるマシンイメージを利用します。
http://open.eucalyptus.com/wiki/EucalyptusUserImageCreatorGuide_v1.6
へアクセスし、CentOS5.3のマシンイメージをダウンロードします。(ファイル名はeuca-centos-5.3-x86_64.tar.gz)
ダウンロードしたファイルをcd ~に移動、ファイルを展開し、展開したディレクトリに移動します。
mv euca-centos-5.3-x86_64.tar.gz ~/. cd ~ tar xvfz euca-centos-5.3-x86_64.tar.gz cd euca-centos-5.3-x86_64
展開されたディレクトリ内のファイルを見ると
centos.5-3.x86-64.img
と
kvm-kernel
xen-kernel
の2つのディレクトリがあるので、Xen用のkernelとramdiskファイルが入っているディレクトリのxen-kernelを使います。
euca-bundle-image、euca-upload-bundle、euca-registerコマンドを実行してマシンイメージを登録します
euca-bundle-image -i xen-kernel/vmlinuz-2.6.27.21-0.1-xen --kernel true
上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。
euca-upload-bundle -b kernel.001 -m /tmp/vmlinuz-2.6.27.21-0.1-xen.manifest.xml
アップロードしたmanifestファイルを登録します。
euca-register kernel.001/vmlinuz-2.6.27.21-0.1-xen.manifest.xml
実行するとIMAGE eki-XXXXXXXX
と画面に表示されます。kernelイメージがこのeki-XXXXXXXXで登録されたことになります。(ちなみに私のIDは eki-5DAF1247 でした)
次にramdiskイメージの登録を行います。
euca-bundle-image -i xen-kernel/initrd-2.6.27.21-0.1-xen --ramdisk true
上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。
euca-upload-bundle -b ramdisk.001 -m /tmp/initrd-2.6.27.21-0.1-xen.manifest.xml
アップロードしたmanifestファイルを登録します。
euca-register ramdisk.001/initrd-2.6.27.21-0.1-xen.manifest.xml
実行するとIMAGE eri-XXXXXXXX
と画面に表示されます。ramdiskイメージがこのeri-XXXXXXXXで登録されたことになります。(ちなみに私のIDは eri-5882121E でした)
最後にマシンイメージの登録を行います。(ちょっと時間がかかります)
euca-bundle-image -i centos.5-3.x86-64.img --kernel eki-5DAF1247 --ramdisk eri-5882121E
上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。
euca-upload-bundle -b machine.001 -m /tmp/centos.5-3.x86-64.img.manifest.xml
アップロードしたmanifestファイルを登録します。
euca-register machine.001/centos.5-3.x86-64.img.manifest.xml
実行するとIMAGE emi-XXXXXXXX
と画面に表示されます。マシンイメージがこのemi-XXXXXXXXで登録されたことになります。(ちなみに私のIDは emi-330511C7 でした)
※マシンイメージを登録すると、Walrusではファイルの結合・復号化・展開を実施するためサーバの負荷が一時的に高まります。この処理が終わらないうちにインスタンスを起動しようとするとEucalyptusの思わぬバグに遭遇する可能性があるため、euca-registerを実行したのち 数分経ってからインスタンスの起動を実行してください。
と注意書きがありましたので、今日はこの辺で終了とします。